<?php
/**
 * Description of register
 *
 * @author Flame
 */
class register {

    /**
     * Da inserire gestione errori
     */
    function  __construct($username,$password,$email,$sesso,$nome,$cognome,$giorno,$mese,$anno,$via,$luogo,$regione,$nazione) {
        global $db,$cfg;


        $sql = "INSERT INTO users (username,password,email,sesso,nome,cognome,giorno,mese,anno,via,luogo,regione,nazione) VALUES ('".$username."','".$password."','".$email."','".$sesso."','".$nome."','".$cognome."','".$giorno."','".$mese."','".$anno."','".$via."','".$luogo."','".$regione."','".$nazione."')";
        if($db->query($sql))
        {
            if($cfg->get('register') == '1')
            {
                $this->sendEmail($email,$password,$username);
            }
            else if($cfg->get('register') == '2')
            {
                $sql = "UPDATE users SET attivo = '1' WHERE username = '".$username."' LIMIT 1";
                $db->query($sql);
            }

        }

    }

    public static function activate($sid)
    {
    global $db;
        $sql = "SELECT username FROM conferma WHERE sid = '".$sid."' LIMIT 1";
        if($row = $db->query_array($sql))
        {
            $sql = "UPDATE users SET attivo = '1' WHERE username = '".$row['username']."' LIMIT 1";
            if($db->query($sql)) return true;
            return false;
        }
        return false;
    }

    function sendEmail($email,$pass,$user)
    {
        global $db,$cfg;
        $t = new tempo();
        $sid = md5($t->mt());

        $sql = "INSERT INTO conferma (username,sid,tempo) VALUES ('".$user."','".$sid."','".time()."')";
        if($db->query($sql))
        {
            $messaggio = 'Ciao '.$user.'!<br>Ti ringraziamo per esserti registrato su CommuiTi.ch!<br><br>Ecco i dati con cui accedere:<br>Username: '.$user.'<br>Password: '.$pass.'<br><br>Ricordati di non rivelare a nessuno la tua password, e se temi che qualcuno la sappia, cambiala subito!<br>Sei il primo responsabile della sicurezza del tuo account sul sito ;)<br><br>Per favore, conferma ed attiva la registrazione cliccando sul seguente link:<br><a href="http://www.communiti.ch/attiva.php?sid='.$sid.'">http://www.communiti.ch/attiva.php?sid='.$sid.'</a><br><br><br>Ti auguriamo una buona permanenza sul sito!<br><br><br>Tutte le registrazioni non attivate entro 24 ore vengono annullate!<br><br><br>Cordiali saluti<br>Il team di CommuniTi.ch<br><br>--------------------<br>'.$cfg->get('email_slogan');

            new email($email,$cfg->get('site_email'),'Conferma iscrizione',$messaggio);
        }
        else
        {
           //errore!
        }
    }

    function controllaUsername($username)
    {
        global $db,$cfg;

        $username = trim(input($username));

        if(strlen($username) > $cfg->get('user_max_length'))
        {
            return false;
        }
        else
        {
            $sql = "SELECT id FROM users WHERE username = '".$username."' LIMIT 1";

            if($db->rows($db->query($sql) > 0))
            {
                return false;
            }
            else return true;
        }
    }

    function controllaPassword($pass1,$pass2)
    {
        if(($pass1 != $pass2) || ($pass1 == ''))
        {
            return false;
        }
        return true;
    }

    function controllaEmail($email)
    {
		$rx = "/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\.\-]{2,})+\.)+([a-zA-Z0-9]{2,5})+$/";
		if ( !preg_match($rx, $email) )
		{
			return false;
		}
        return true;
    }

    function controllaData($g,$m,$a)
    {
        if($g < 32 && $m < 13 && $a < (date("Y") - 10))
        {
            if($m == 2 && $g > 29) return false;
            if(($m == 1 || $m == 3 || $m == 5 || $m == 7 || $m == 8 || $m == 10 || $m == 12) && $g > 31 ) return false;
            if(($m == 4 || $m == 6 || $m == 9 || $m == 11) && $g > 30) return false;

            return true;
        }
    }
}
?>
